Pure Pointer Programs and Tree Isomorphism
نویسندگان
چکیده
In a previous work, Hofmann and Schöpp have introduced the programming language PURPLE to formalise the common intuition of LOGSPACEalgorithms as pure pointer programs that take as input some structured data (e.g. a graph) and store in memory only a constant number of pointers to the input (e.g. to the graph nodes). It was shown that PURPLE is strictly contained in LOGSPACE, being unable to decide st-connectivity in undirected graphs. In this paper we study the options of strengthening PURPLE as a manageable idealisation of computation with logarithmic space that may be used to give some evidence that PTIME-problems such as Horn satisfiability cannot be solved in logarithmic space. We show that with counting, PURPLE captures all of LOGSPACE on locally ordered graphs. Our main result is that without a local ordering, even with counting and nondeterminism, PURPLE cannot solve tree isomorphism. This generalises the same result for Transitive Closure Logic with counting, to a formalism that can iterate over the input structure, furnishing a new proof as a by-product.
منابع مشابه
A Note on the Hardness of Tree Isomorphism
We prove that the tree isomorphism problem, when trees are encoded as strings, is NC 1-hard under DLOGTIME-reductions. NC 1-completeness thus follows from Buss's recent NC 1 upper bound. By contrast , we prove that testing isomorphism of two trees encoded as pointer lists is L-complete.
متن کاملAutomata-Based Termination Proofs
This paper describes our generic framework for detecting termination of programs handling infinite and complex data domains, such as pointer structures. The framework is based on a counterexample-driven abstraction refinement loop. We have instantiated the framework for programs handling tree-like data structures, which allowed us to prove automatically termination of programs such as the depth...
متن کاملPointer Analysis for C programs through AST traversal
We present a pointer analysis algorithm designed for source-to-source transformations. Existing techniques for pointer analysis apply a collection of inference rules to a dismantled intermediate form of the source program, making them difficult to apply to source-to-source tools that generally work on abstract syntax trees to preserve details of the source program. Our pointer analysis algorith...
متن کاملNominal Calculi for Security and Mobility
Needham defines a pure name to be “nothing but a bit pattern that is an identifier, and is only useful for comparing for identitywith other bit patterns— which includes looking up in tables in order to find other information” [13]. In this paper, we argue that pure names are relevant to both security and mobility. A nominal calculus is a computational formalism that includes a set of pure names...
متن کاملSequential and parallel algorithms for the NCA problem on pure pointer machines
We present a simple, arithmetic-free, efficient scheme to compress trees maintaining the NCA information.We use this compression scheme to provide an O(n + q lg lg n) solution for solving the NCA problem on Pure Pointer Machines (PPMs)—i.e., pointer machines with no arithmetic capabilities—in both the static and dynamic case, where n is the number of add-leaf/delete operations and q is the numb...
متن کامل